﻿Imports DNP.GestionComercial.BE
Imports DNP.DevNetPeru.Data
Imports System.Data.SqlClient
Public Class UbigeoDAL

    Public Function ObtenerDepartamentos() As RespuestaBE
        Dim lstUbigeo As New List(Of UbigeoBE)
        Dim obeRespuesta As New RespuestaBE
        Try
            
            Dim cmd As New SqlCommand("com_sel_UbigeoDepartamento")
            cmd.CommandType = CommandType.StoredProcedure

            Using dr As SqlDataReader = BaseDatos.GetDataReader(cmd)
                If dr.HasRows Then
                    ' Return ObtenerUbigeo(dr)
                    lstUbigeo = Utils.CreaLista(Of UbigeoBE)(lstUbigeo, dr)
                    obeRespuesta.ValorRertono = lstUbigeo
                    obeRespuesta.Respuesta = True

                    Return obeRespuesta

                Else
                    obeRespuesta.ValorRertono = lstUbigeo
                    obeRespuesta.Respuesta = True

                    Return obeRespuesta
                End If
            End Using


        Catch ex As Exception
            obeRespuesta.ValorRertono = lstUbigeo
            obeRespuesta.Respuesta = False
            obeRespuesta.Mensaje = "msgErrorCargarInfoBD"

        End Try
        Return obeRespuesta
    End Function


    Public Function ObtenerProvincia(ByVal pDepartamento As String) As RespuestaBE
        Dim lstUbigeo As New List(Of UbigeoBE)
        Dim obeRespuesta As New RespuestaBE
        Try

            Dim cmd As New SqlCommand("com_sel_UbigeoProvincia")
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.Add("p_Departamento", SqlDbType.NVarChar).Value = pDepartamento

            Using dr As SqlDataReader = BaseDatos.GetDataReader(cmd)
                If dr.HasRows Then
                    ' Return ObtenerUbigeo(dr)
                    lstUbigeo = Utils.CreaLista(Of UbigeoBE)(lstUbigeo, dr)
                    obeRespuesta.ValorRertono = lstUbigeo
                    obeRespuesta.Respuesta = True

                    Return obeRespuesta

                Else
                    obeRespuesta.ValorRertono = lstUbigeo
                    obeRespuesta.Respuesta = True

                    Return obeRespuesta
                End If
            End Using


        Catch ex As Exception
            obeRespuesta.ValorRertono = lstUbigeo
            obeRespuesta.Respuesta = False
            obeRespuesta.Mensaje = "msgErrorCargarInfoBD"

        End Try
        Return obeRespuesta
    End Function

    Public Function ObtenerDistrito(ByVal pDepartamento As String, ByVal pProvincia As String) As RespuestaBE
        Dim lstUbigeo As New List(Of UbigeoBE)
        Dim obeRespuesta As New RespuestaBE
        Try

            Dim cmd As New SqlCommand("com_sel_UbigeoDistrito")
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.Add("p_Departamento", SqlDbType.NVarChar).Value = pDepartamento
            cmd.Parameters.Add("p_Provincia", SqlDbType.NVarChar).Value = pProvincia

            Using dr As SqlDataReader = BaseDatos.GetDataReader(cmd)
                If dr.HasRows Then
                    ' Return ObtenerUbigeo(dr)
                    lstUbigeo = Utils.CreaLista(Of UbigeoBE)(lstUbigeo, dr)
                    obeRespuesta.ValorRertono = lstUbigeo
                    obeRespuesta.Respuesta = True

                    Return obeRespuesta

                Else
                    obeRespuesta.ValorRertono = lstUbigeo
                    obeRespuesta.Respuesta = True

                    Return obeRespuesta
                End If
            End Using


        Catch ex As Exception
            obeRespuesta.ValorRertono = lstUbigeo
            obeRespuesta.Respuesta = False
            obeRespuesta.Mensaje = "msgErrorCargarInfoBD"

        End Try
        Return obeRespuesta
    End Function

End Class
